/**
 * Copyright (c) 2017, Alex. All rights reserved.
 */
package com.oschina.bottle.utils;

import com.oschina.bottle.utils.validator.IDValidator;
import com.oschina.bottle.utils.validator.RegExpValidator;
import org.apache.commons.lang3.StringUtils;

/**
 * 校验工具类
 *
 * @author <a href="mailto:zhongchao@gegejia.com">zhong</a>
 * @version 1.0 2017/9/27
 * @since 1.0
 */
public class ValidateUtils {

    /**
     * 判断字符串是否是整数
     *
     * 可以调用RegExpUtils.validate(RegExpUtils.NUM_REG, str)
     */
    public static boolean isNumber(String str) {
        if (StringUtils.isBlank(str)) {
            return false;
        }

        return RegExpValidator.validate(RegExpValidator.NUM_REG, str);
    }

    /**
     * 校验身份证
     */
    public static boolean isIDCard(String str) {
        if (StringUtils.isBlank(str)) {
            return false;
        }

        return IDValidator.verify(str);
    }


    /**
     * 手机号验证
     *
     * @return 验证通过返回true
     */
    public static boolean isMobile(String str) {
        return RegExpValidator.validate(RegExpValidator.MOBILE_REG, str);
    }

    /**
     * 带区号固话号码验证
     *
     * 格式: 025-10111222
     *
     * @return 验证通过返回true
     */
    public static boolean isPhone(String str) {
        if (StringUtils.isBlank(str)) {
            return false;
        }

        return RegExpValidator.validate(RegExpValidator.CODE_PHONE_REG, str);
    }
}
